ASM is an all purpose Java bytecode manipulation and analysis framework.
It can be used to modify existing classes or dynamically generate
classes, directly in binary form. Provided common transformations and
analysis algorithms allow to easily assemble custom complex
transformations and code analysis tools.
